home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Miscellaneous / Headlines Code / Jamie’s PD Code ƒ / JADG.c next >
C/C++ Source or Header  |  1992-06-20  |  2KB  |  105 lines

  1. /*
  2.  * JADG.c
  3.  *
  4.  * Jamie's After Dark Glue
  5.  *
  6.  * JADG.c and JADG.h are in the public domain.
  7.  *
  8.  */
  9.  
  10.  
  11.  
  12. /******************************/
  13.  
  14. #include <JADG.h>
  15.  
  16. /******************************/
  17.  
  18. #include <SetUpA4.h>
  19.  
  20. /******************************/
  21.  
  22.  
  23.  
  24. pascal OSErr main(
  25.     Handle *storage,
  26.     RgnHandle blankRgn,
  27.     short message,
  28.     GMParamBlockPtr params
  29.     )
  30. {
  31.     OSErr theOSErr;
  32.     theOSErr = noErr;
  33.     
  34.     RememberA0();
  35.     SetUpA4();
  36.     
  37.     if (*storage != NULL) {
  38.         HLock(*storage);
  39.     }
  40.     
  41.     switch (message) {
  42.         
  43.         case Initialize:
  44.             theOSErr = doInitialize(storage, blankRgn, message, params);
  45.             break;
  46.             
  47.         case Close:
  48.             theOSErr = doClose(storage, blankRgn, message, params);
  49.             break;
  50.             
  51.         case Blank:
  52.             theOSErr = doBlank(storage, blankRgn, message, params);
  53.             break;
  54.             
  55.         case DrawFrame:
  56.             theOSErr = doDrawFrame(storage, blankRgn, message, params);
  57.             break;
  58.             
  59.         case ModuleSelected:
  60.             theOSErr = doModuleSelected(storage, blankRgn, message, params);
  61.             break;
  62.             
  63.         case DoAbout:
  64.             theOSErr = doAbout(storage, blankRgn, message, params);
  65.             break;
  66.             
  67.         default:
  68.             if (message >= ButtonMessage) {
  69.                 theOSErr = doButtonMessage(storage, blankRgn, message, params);
  70.             } else {
  71.                 DebugStr("\pUnknown message!");
  72.             }
  73.             break;
  74.         
  75.     }
  76.     
  77.     if (theOSErr != noErr) {
  78.         setADErrorText(storage, blankRgn, message, params, theOSErr);
  79.         if (message == Initialize) theOSErr = ModuleError;
  80.     }
  81.     
  82.     if (*storage != NULL) HUnlock(*storage);
  83.     
  84.     RestoreA4();
  85.     
  86.     return theOSErr;
  87. }
  88.  
  89.  
  90.  
  91. void adErrPStrCpy(GMParamBlockPtr params, unsigned char *source)
  92. {
  93.     BlockMove(source, params->errorMessage, source[0] + 1);
  94. }
  95.  
  96.  
  97.  
  98. void adErrPStrCat(GMParamBlockPtr params, unsigned char *source)
  99. {
  100.     BlockMove(&source[1],
  101.         ¶ms->errorMessage[ params->errorMessage[0] + 1 ],
  102.         source[0]);
  103.     params->errorMessage[0] += source[0];
  104. }
  105.